package com.sugon.modules.sys.service;

import com.sugon.modules.sys.model.vo.DeviceOrganizationVO;

import java.util.List;

/**
 * @author ： YuXD
 * @description： 系统组织结构Manager, 包含人员和设备组织结构处理
 * @date ： 2020-11-14 下午 6:19
 * @version: 1.0
 */
public interface ISysDeptManager {


    /**
     * 加载设备组织：包含工厂、车间、产线和设备
     *
     * @param deptLevel 设备组织界别，为null是默认为3，即查看到工序一级
     * @return
     */
    List<DeviceOrganizationVO> loadDeviceOrganization(Integer deptLevel);

    /**
     * 获取产线的车间帮助触发时长,单位是分钟
     * 1、首先尝试从产线配置中获取
     * 如果已配置，则直接返回
     * 如果没配置，默认返回系统级并更新产线配置
     *
     * @param lineCode
     * @return
     */
    Integer getWorkshopTriggerTime(String lineCode);

    /**
     * 获取产线的工厂帮助触发时长,单位是分钟
     * 1、首先尝试从产线配置中获取
     * 如果已配置，则直接返回
     * 如果没配置，默认返回系统级并更新产线配置
     *
     * @param lineCode
     * @return
     */
    Integer getFactoryTriggerTime(String lineCode);

}
